home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / iommu-helper.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  937 b   |  30 lines

  1. #ifndef _LINUX_IOMMU_HELPER_H
  2. #define _LINUX_IOMMU_HELPER_H
  3.  
  4. static inline unsigned long iommu_device_max_index(unsigned long size,
  5.                            unsigned long offset,
  6.                            u64 dma_mask)
  7. {
  8.     if (size + offset > dma_mask)
  9.         return dma_mask - offset + 1;
  10.     else
  11.         return size;
  12. }
  13.  
  14. extern int iommu_is_span_boundary(unsigned int index, unsigned int nr,
  15.                   unsigned long shift,
  16.                   unsigned long boundary_size);
  17. extern void iommu_area_reserve(unsigned long *map, unsigned long i, int len);
  18. extern unsigned long iommu_area_alloc(unsigned long *map, unsigned long size,
  19.                       unsigned long start, unsigned int nr,
  20.                       unsigned long shift,
  21.                       unsigned long boundary_size,
  22.                       unsigned long align_mask);
  23. extern void iommu_area_free(unsigned long *map, unsigned long start,
  24.                 unsigned int nr);
  25.  
  26. extern unsigned long iommu_num_pages(unsigned long addr, unsigned long len,
  27.                      unsigned long io_page_size);
  28.  
  29. #endif
  30.